home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / textView.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  77 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''Simple text browser for IDLE
  5.  
  6. '''
  7. from Tkinter import *
  8. import tkMessageBox
  9.  
  10. class TextViewer(Toplevel):
  11.     '''
  12.     simple text viewer dialog for idle
  13.     '''
  14.     
  15.     def __init__(self, parent, title, fileName, data = None):
  16.         '''If data exists, load it into viewer, otherwise try to load file.
  17.  
  18.         fileName - string, should be an absoulute filename
  19.         '''
  20.         Toplevel.__init__(self, parent)
  21.         self.configure(borderwidth = 5)
  22.         self.geometry('=%dx%d+%d+%d' % (625, 500, parent.winfo_rootx() + 10, parent.winfo_rooty() + 10))
  23.         self.bg = '#ffffff'
  24.         self.fg = '#000000'
  25.         self.CreateWidgets()
  26.         self.title(title)
  27.         self.transient(parent)
  28.         self.grab_set()
  29.         self.protocol('WM_DELETE_WINDOW', self.Ok)
  30.         self.parent = parent
  31.         self.textView.focus_set()
  32.         self.bind('<Return>', self.Ok)
  33.         self.bind('<Escape>', self.Ok)
  34.         if data:
  35.             self.textView.insert(0.0, data)
  36.         else:
  37.             self.LoadTextFile(fileName)
  38.         self.textView.config(state = DISABLED)
  39.         self.wait_window()
  40.  
  41.     
  42.     def LoadTextFile(self, fileName):
  43.         textFile = None
  44.         
  45.         try:
  46.             textFile = open(fileName, 'r')
  47.         except IOError:
  48.             tkMessageBox.showerror(title = 'File Load Error', message = 'Unable to load file %r .' % (fileName,))
  49.  
  50.         self.textView.insert(0.0, textFile.read())
  51.  
  52.     
  53.     def CreateWidgets(self):
  54.         frameText = Frame(self, relief = SUNKEN, height = 700)
  55.         frameButtons = Frame(self)
  56.         self.buttonOk = Button(frameButtons, text = 'Close', command = self.Ok, takefocus = FALSE)
  57.         self.scrollbarView = Scrollbar(frameText, orient = VERTICAL, takefocus = FALSE, highlightthickness = 0)
  58.         self.textView = Text(frameText, wrap = WORD, highlightthickness = 0, fg = self.fg, bg = self.bg)
  59.         self.scrollbarView.config(command = self.textView.yview)
  60.         self.textView.config(yscrollcommand = self.scrollbarView.set)
  61.         self.buttonOk.pack()
  62.         self.scrollbarView.pack(side = RIGHT, fill = Y)
  63.         self.textView.pack(side = LEFT, expand = TRUE, fill = BOTH)
  64.         frameButtons.pack(side = BOTTOM, fill = X)
  65.         frameText.pack(side = TOP, expand = TRUE, fill = BOTH)
  66.  
  67.     
  68.     def Ok(self, event = None):
  69.         self.destroy()
  70.  
  71.  
  72. if __name__ == '__main__':
  73.     root = Tk()
  74.     Button(root, text = 'View', command = (lambda : TextViewer(root, 'Text', './textView.py'))).pack()
  75.     root.mainloop()
  76.  
  77.